package com.easy.mapper;

import com.easy.bean.Borrow;
import com.easy.util.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface BorrowDao {
    // 添加借书记录
    int add(@Param("param") Borrow borrow);

    // 更新还书记录
    int update(@Param("param") Borrow borrow);

    // 根据ID查询借阅记录
    Borrow one(@Param("id") Integer id);

    // 查询用户借阅记录
    List<Borrow> findByUser(@Param("user_id") Integer user_id);

    // 查询书籍借阅记录
    List<Borrow> findByBook(@Param("book_id") Integer book_id);

    // 查询所有借阅记录
    List<Borrow> all(@Param("param") Borrow borrow);

    // 分页查询总数
    int pageCount(@Param("param") Borrow borrow);

    // 分页查询数据
    List<Borrow> page(@Param("page") Page page, @Param("param") Borrow borrow);

    // 查询用户未归还的书籍
    List<Borrow> findNotReturnByUser(@Param("user_id") Integer user_id);

    // 查询某本书是否已被借出且未归还
    Borrow findNotReturnByBook(@Param("book_id") Integer book_id);
}
